1 Background reading

Interesting papers:

2 Visualizing all data

2.1 Load all of the throw data

First, we will plot all the trials and see if there are group effects.

#load omnibus dataframe
omnibus_df <- read_delim("data/omnibus/omnibus_throws.csv", 
                            delim = ",", 
                            col_types = cols(.default = col_double(), 
                                             type = col_factor(),
                                             ppid = col_factor(),
                                             experiment = col_factor(),
                                             hand = col_factor(),
                                             per_block_list_camera_tilt = col_factor(),
                                             per_block_list_surface_tilt = col_factor(),
                                             per_block_targetListToUse = col_factor(),
                                             per_block_surface_materials = col_factor()))
Warning: One or more parsing issues, call `problems()` on your data frame for details, e.g.:
  dat <- vroom(...)
  problems(dat)

2.2 All throws

all_throw_summary <- omnibus_df %>%
  group_by(experiment, trial_num) %>%
  summarise(mean = mean(error_size, na.rm = TRUE),
            sd = sd(error_size, na.rm = TRUE), 
            ci = vector_confint(error_size),
            n = n(), .groups = "drop")
p <- omnibus_df %>%
  ggplot(aes(x = trial_num, y = error_size)) +
  # geom_point(alpha = 0.04, aes(colour = experiment)) + 
  geom_ribbon(data = all_throw_summary, 
                 aes(y = mean, ymin = mean-ci,
                     ymax = mean+ci, fill = experiment), 
              alpha = 0.3) +
  geom_line(data = all_throw_summary, 
            aes(y = mean, colour = experiment)) +
  theme_minimal() +
  # scale_x_continuous(limits = c(205, 374)) +
  NULL

ggplotly(p)

# save plot
# ggsave(p, height = 9, width = 16, device = "svg", filename = "data/figs/all_throws.svg")

2.3 Success manifolds

2.3.1 Without any tilts

ggplotly(plot_success_manifold_no_tilt())

2.3.2 With tilt present

ggplotly(plot_success_manifold_tilt())
LS0tDQp0aXRsZTogIkJpbGxpYXJkcyBhbmQgVGlsdHMgQW5hbHlzaXMgTm90ZWJvb2siDQphdXRob3I6ICJTaGFuYWF0aGFuYW4gTW9kY2hhbGluZ2FtIg0KZGF0ZTogIkRlYyAwNiwgMjAyMSINCm91dHB1dDogDQogIGh0bWxfbm90ZWJvb2s6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogICAgDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpybShsaXN0ID0gbHMoKSkgICAgICAjIGNsZWFuIGVudmlyb25tZW50DQoNCnNvdXJjZSgic3JjL2hlbHBlcl9mdW5jcy5SIikNCnNvdXJjZSgic2NyaXB0cy9tYWtlX2ZpZ3MuUiIpDQpsaWJyYXJ5KGRhdGEudGFibGUpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoZ2diZWVzd2FybSkNCmxpYnJhcnkoZXopICNmb3IgQU5PVkFzDQpsaWJyYXJ5KGVmZmVjdHNpemUpICMgZm9yIGV0YS1zcXVhcmVkDQpsaWJyYXJ5KHBsb3RseSkNCg0KYGBgDQoNCiMgQmFja2dyb3VuZCByZWFkaW5nDQoNCkludGVyZXN0aW5nIHBhcGVyczogDQoNCg0KDQojIFZpc3VhbGl6aW5nIGFsbCBkYXRhDQoNCiMjIExvYWQgYWxsIG9mIHRoZSB0aHJvdyBkYXRhDQoNCkZpcnN0LCB3ZSB3aWxsIHBsb3QgYWxsIHRoZSB0cmlhbHMgYW5kIHNlZSBpZiB0aGVyZSBhcmUgZ3JvdXAgZWZmZWN0cy4NCg0KYGBge3J9DQojbG9hZCBvbW5pYnVzIGRhdGFmcmFtZQ0Kb21uaWJ1c19kZiA8LSByZWFkX2RlbGltKCJkYXRhL29tbmlidXMvb21uaWJ1c190aHJvd3MuY3N2IiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsaW0gPSAiLCIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfZG91YmxlKCksIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9IGNvbF9mYWN0b3IoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBwaWQgPSBjb2xfZmFjdG9yKCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlcmltZW50ID0gY29sX2ZhY3RvcigpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZCA9IGNvbF9mYWN0b3IoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcl9ibG9ja19saXN0X2NhbWVyYV90aWx0ID0gY29sX2ZhY3RvcigpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyX2Jsb2NrX2xpc3Rfc3VyZmFjZV90aWx0ID0gY29sX2ZhY3RvcigpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyX2Jsb2NrX3RhcmdldExpc3RUb1VzZSA9IGNvbF9mYWN0b3IoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcl9ibG9ja19zdXJmYWNlX21hdGVyaWFscyA9IGNvbF9mYWN0b3IoKSkpDQpgYGANCg0KIyMgQWxsIHRocm93cw0KYGBge3J9DQphbGxfdGhyb3dfc3VtbWFyeSA8LSBvbW5pYnVzX2RmICU+JQ0KICBncm91cF9ieShleHBlcmltZW50LCB0cmlhbF9udW0pICU+JQ0KICBzdW1tYXJpc2UobWVhbiA9IG1lYW4oZXJyb3Jfc2l6ZSwgbmEucm0gPSBUUlVFKSwNCiAgICAgICAgICAgIHNkID0gc2QoZXJyb3Jfc2l6ZSwgbmEucm0gPSBUUlVFKSwgDQogICAgICAgICAgICBjaSA9IHZlY3Rvcl9jb25maW50KGVycm9yX3NpemUpLA0KICAgICAgICAgICAgbiA9IG4oKSwgLmdyb3VwcyA9ICJkcm9wIikNCmBgYA0KDQpgYGB7ciwgd2FybmluZz1GQUxTRSwgZmlnLndpZHRoPTkuNX0NCnAgPC0gb21uaWJ1c19kZiAlPiUNCiAgZ2dwbG90KGFlcyh4ID0gdHJpYWxfbnVtLCB5ID0gZXJyb3Jfc2l6ZSkpICsNCiAgIyBnZW9tX3BvaW50KGFscGhhID0gMC4wNCwgYWVzKGNvbG91ciA9IGV4cGVyaW1lbnQpKSArIA0KICBnZW9tX3JpYmJvbihkYXRhID0gYWxsX3Rocm93X3N1bW1hcnksIA0KICAgICAgICAgICAgICAgICBhZXMoeSA9IG1lYW4sIHltaW4gPSBtZWFuLWNpLA0KICAgICAgICAgICAgICAgICAgICAgeW1heCA9IG1lYW4rY2ksIGZpbGwgPSBleHBlcmltZW50KSwgDQogICAgICAgICAgICAgIGFscGhhID0gMC4zKSArDQogIGdlb21fbGluZShkYXRhID0gYWxsX3Rocm93X3N1bW1hcnksIA0KICAgICAgICAgICAgYWVzKHkgPSBtZWFuLCBjb2xvdXIgPSBleHBlcmltZW50KSkgKw0KICB0aGVtZV9taW5pbWFsKCkgKw0KICAjIHNjYWxlX3hfY29udGludW91cyhsaW1pdHMgPSBjKDIwNSwgMzc0KSkgKw0KICBOVUxMDQoNCmdncGxvdGx5KHApDQoNCiMgc2F2ZSBwbG90DQojIGdnc2F2ZShwLCBoZWlnaHQgPSA5LCB3aWR0aCA9IDE2LCBkZXZpY2UgPSAic3ZnIiwgZmlsZW5hbWUgPSAiZGF0YS9maWdzL2FsbF90aHJvd3Muc3ZnIikNCmBgYA0KDQojIyBTdWNjZXNzIG1hbmlmb2xkcw0KIyMjIFdpdGhvdXQgYW55IHRpbHRzDQpgYGB7ciwgZmlnLndpZHRoPTksIGZpZy5oZWlnaHQ9MjB9DQpnZ3Bsb3RseShwbG90X3N1Y2Nlc3NfbWFuaWZvbGRfbm9fdGlsdCgpKQ0KYGBgDQoNCiMjIyBXaXRoIHRpbHQgcHJlc2VudA0KYGBge3IsIGZpZy53aWR0aD05LCBmaWcuaGVpZ2h0PTIwfQ0KZ2dwbG90bHkocGxvdF9zdWNjZXNzX21hbmlmb2xkX3RpbHQoKSkNCmBgYA0KDQoNCmBgYHtyLCBpbmNsdWRlPUZBTFNFfQ0KTlVMTA0KYGBgDQoNCg==